package com.t.bricks.bussiness.db.entity.personworkstatimonths.base;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.t.bricks.annotation.DataInfo;

/**
 * 人员工作量统计(月统计)'PersonWorkStatiMonths'表实体类
 * 警告:非数据库字段禁止在此添加,应该创建扩展实体中添加
 * @author HuangXinBian
 * @DateTime 2022年08月18日 14:12:29
 */
@ApiModel("人员工作量统计(月统计)PersonWorkStatiMonths")
@DataInfo(sDbName="BricksOA", sTableName="PersonWorkStatiMonths")
public class PersonWorkStatiMonthsBase implements Serializable {

	private static final long serialVersionUID = 1L;// 使用rmi时需修改

	/**
	 * 记录编号
	 */
	//[start]
	@DataInfo( sDbName="BricksOA", sTableName="PersonWorkStatiMonths",
		sName="iId", sComment="记录编号", isDbField=true, sDbFileType="bigint",
		sDefaultData="", isExtra=true, iskey=true, isNull=false,
		iMaxLength=15, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=0 )
	@ApiModelProperty(value="记录编号", example="")
	//[end]
	protected Long iId;

	/**
	 * 人员编号
	 */
	//[start]
	@DataInfo( sDbName="BricksOA", sTableName="PersonWorkStatiMonths",
		sName="sPersonId", sComment="人员编号", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=32, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=1 )
	@ApiModelProperty(value="人员编号", example="")
	//[end]
	protected String sPersonId;

	/**
	 * 人员姓名
	 */
	//[start]
	@DataInfo( sDbName="BricksOA", sTableName="PersonWorkStatiMonths",
		sName="sPersonName", sComment="人员姓名", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=32, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=2 )
	@ApiModelProperty(value="人员姓名", example="")
	//[end]
	protected String sPersonName;

	/**
	 * 工作时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksOA", sTableName="PersonWorkStatiMonths",
		sName="dWorkDate", sComment="工作时间", isDbField=true, sDbFileType="datetime",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=23, isDecimal=false, iIntegralLength=-1, iDecimalLength=-1, iIndex=3 )
	@ApiModelProperty(value="工作时间", example="")
	//[end]
	protected Date dWorkDate;

	/**
	 * 工作名(各工作用分号分隔)
	 */
	//[start]
	@DataInfo( sDbName="BricksOA", sTableName="PersonWorkStatiMonths",
		sName="sNames", sComment="工作名(各工作用分号分隔)", isDbField=true, sDbFileType="longtext",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=4 )
	@ApiModelProperty(value="工作名(各工作用分号分隔)", example="")
	//[end]
	protected String sNames;

	/**
	 * 工作数(各值用分号分隔)
	 */
	//[start]
	@DataInfo( sDbName="BricksOA", sTableName="PersonWorkStatiMonths",
		sName="sValues", sComment="工作数(各值用分号分隔)", isDbField=true, sDbFileType="longtext",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=5 )
	@ApiModelProperty(value="工作数(各值用分号分隔)", example="")
	//[end]
	protected String sValues;

	/**
	 * 创建时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksOA", sTableName="PersonWorkStatiMonths",
		sName="dCreateDate", sComment="创建时间", isDbField=true, sDbFileType="datetime",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=23, isDecimal=false, iIntegralLength=-1, iDecimalLength=-1, iIndex=6 )
	@ApiModelProperty(value="创建时间", example="")
	//[end]
	protected Date dCreateDate;

	/**
	 * 取 记录编号
	 * @return Long
	 */
	public Long getiId() {
		return iId;
	}

	/**
	 * 设置 记录编号
	 * @param iId
	 */
	public void setiId(Long iId) {
		this.iId = iId;
	}

	/**
	 * 取 人员编号
	 * @return String
	 */
	public String getsPersonId() {
		return sPersonId;
	}

	/**
	 * 设置人员编号
	 * @param sPersonId
	 */
	public void setsPersonId(String sPersonId) {
		this.sPersonId = sPersonId;
	}

	/**
	 * 取 人员姓名
	 * @return String
	 */
	public String getsPersonName() {
		return sPersonName;
	}

	/**
	 * 设置人员姓名
	 * @param sPersonName
	 */
	public void setsPersonName(String sPersonName) {
		this.sPersonName = sPersonName;
	}

	/**
	 * 取 工作时间
	 * @return Date
	 */
	public Date getdWorkDate() {
		return dWorkDate;
	}

	/**
	 * 设置工作时间
	 * @param dWorkDate
	 */
	public void setdWorkDate(Date dWorkDate) {
		this.dWorkDate = dWorkDate;
	}

	/**
	 * 取 工作名(各工作用分号分隔)
	 * @return String
	 */
	public String getsNames() {
		return sNames;
	}

	/**
	 * 设置工作名(各工作用分号分隔)
	 * @param sNames
	 */
	public void setsNames(String sNames) {
		this.sNames = sNames;
	}

	/**
	 * 取 工作数(各值用分号分隔)
	 * @return String
	 */
	public String getsValues() {
		return sValues;
	}

	/**
	 * 设置工作数(各值用分号分隔)
	 * @param sValues
	 */
	public void setsValues(String sValues) {
		this.sValues = sValues;
	}

	/**
	 * 取 创建时间
	 * @return Date
	 */
	public Date getdCreateDate() {
		return dCreateDate;
	}

	/**
	 * 设置创建时间
	 * @param dCreateDate
	 */
	public void setdCreateDate(Date dCreateDate) {
		this.dCreateDate = dCreateDate;
	}

	/**
	 * 复制对象
	 * @param source 数据源
	 * @return PersonWorkStatiMonthsBase
	 */
	public static PersonWorkStatiMonthsBase copy(PersonWorkStatiMonthsBase source) {
		if (null == source) {
			return null;
		}
		
		PersonWorkStatiMonthsBase target = new PersonWorkStatiMonthsBase();
		target.setiId(source.getiId());
		target.setsPersonId(source.getsPersonId());
		target.setsPersonName(source.getsPersonName());
		target.setdWorkDate(source.getdWorkDate());
		target.setsNames(source.getsNames());
		target.setsValues(source.getsValues());
		target.setdCreateDate(source.getdCreateDate());

		return target;
	}
	
	/**
	 * 克隆对象
	 * @return PersonWorkStatiMonthsBase
	 */
	public PersonWorkStatiMonthsBase clone() {
		return copy(this);
	}
	
}
